package com.snpic.appaw.module.member.dal.dataobject.login;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 在职业务员信息表
 * </p>
 *
 * @author JiJun
 * @since 2025-08-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("companies_info")
public class CompaniesInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 业务员代码
     */
    private String usercode;

    /**
     * 业务员姓名
     */
    private String username;

    /**
     * 身份证号码
     */
    private String identityno;

    /**
     * 手机
     */
    private String mobile;

    /**
     * 住址
     */
    private String address;

    /**
     * 入职日期
     */
    private LocalDateTime enrolldate;

    /**
     * 职级代码
     */
    private String levelid;

    /**
     * 职级名称
     */
    private String levelname;

    /**
     * 有的话取第一个，没有的话取默认值
     */
    private String netservicecode;

    /**
     * 网点服务码名称
     */
    private String netservicename;

    /**
     * 归属机构代码
     */
    private String comcode;

    /**
     * 归属机构名称
     */
    private String comname;

    /**
     * 归属部门代码
     */
    private String deptcode;

    /**
     * 归属部门名称
     */
    private String deptname;

    /**
     * 归属团队代码
     */
    private String teamcode;

    /**
     * 归属团队名称
     */
    private String teamname;

    /**
     * 归属团队类型代码
     */
    private String teamtypeid;

    /**
     * 归属团队类型名称
     */
    private String teamtypename;

    /**
     * 执业证号
     */
    private String practisnumber;

    /**
     * 执业证书起始日期
     */
    private LocalDateTime practisingstartdate;

    /**
     * 执业证书终止日期
     */
    private LocalDateTime practisingenddate;

    /**
     * 渠道大类
     */
    private String channelcode;

    /**
     * 是否有效
     */
    private String validstatus;

    /**
     * 是否删除
     */
    private Boolean deleted;

    /**
     * 创建者
     */
    private String creator;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新者
     */
    private String updater;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 原始oracle中的usercode，用于数据迁移
     */
    private String oldUsercode;


}
